--- /dev/null
+FROM ubuntu:18.04
+COPY ./main.c ./main.c
+COPY ./src/ ./src/
+COPY ./include/ ./include/
+COPY ./Release/ ./Release/
+RUN apt-get update && \
+ apt-get install -y \
+ libcleri-dev \
+ libuv1-dev \
+ libpcre2-dev \
+ uuid-dev \
+ build-essential
+RUN cd ./Release && \
+ make clean && \
+ make
+
+FROM python
+RUN apt-get update && \
+ apt-get install -y valgrind
+COPY --from=0 ./Release/siridb-server /Release/siridb-server
+COPY ./itest/ /itest/
+WORKDIR /itest
+RUN pip install -r requirements.txt
+CMD [ "python", "test_select.py" ]
\ No newline at end of file
--- /dev/null
+siridb-connector
+psutil
self.client0.close()
- return False
+ # return False
if __name__ == '__main__':
SiriDB.LOG_LEVEL = 'CRITICAL'
Server.HOLD_TERM = True
Server.MEM_CHECK = True
+ Server.TERMINAL = 'XTERM'
Server.BUILDTYPE = 'Debug'
run_test(TestSelect())
TEST_DIR = './testdir'
SIRIDBC = '../{BUILDTYPE}/siridb-server'
ADMIN = '/usr/local/bin/siridb-admin'
-VALGRIND = 'valgrind' + \
- ' --tool=memcheck' + \
- ' --leak-check=full' + \
- ' --show-leak-kinds=all' + \
- ' --track-origins=yes' + \
+VALGRIND = 'valgrind' \
+ ' --tool=memcheck' \
+ ' --error-exitcode=1' \
+ ' --leak-check=full' \
+ ' --show-leak-kinds=all' \
+ ' --track-origins=yes' \
' -v '
-VALGRIND = 'valgrind --tool=memcheck '
+VALGRIND = 'valgrind' \
+ ' --tool=memcheck' \
+ ' --error-exitcode=1' \
+ ' --leak-check=full '
+
MAX_OPEN_FILES = 512 # Default value is 32768 but with valgrind 512 is max
BUILDTYPE = BUILDTYPE
SERVER_ADDRESS = '%HOSTNAME'
IP_SUPPORT = 'ALL'
- USE_XFCE4 = False
+ TERMINAL = None # one of [ 'XTERM', 'XFCE4_TERMINAL', None ]
BIND_CLIENT_ADDRESS = "::"
BIND_SERVER_ADDRESS = "::"
async def start(self, sleep=None):
prev = self._get_pid_set()
- if self.USE_XFCE4:
+ if self.TERMINAL == 'XFCE4_TERMINAL':
rc = subprocess.Popen(
'xfce4-terminal -e "{}{} --config {} --log-colorized"'
' --title {} --geometry={}{}'
self.GEOMETRY,
' -H' if self.HOLD_TERM else ''),
shell=True)
- else:
+ elif self.TERMINAL == 'XTERM':
rc = subprocess.Popen(
'xterm {}-title {} -geometry {} -e "{}{} --config {}"'
.format('-hold ' if self.HOLD_TERM else '',
SIRIDBC.format(BUILDTYPE=self.BUILDTYPE),
self.cfgfile),
shell=True)
+ else:
+ with open(f'{self.name}-err.log', 'a') as err:
+ with open(f'testdir/{self.name}-out.log', 'a') as out:
+ rc = subprocess.Popen(
+ '{}{} --config {}'
+ .format(VALGRIND if self.MEM_CHECK else '',
+ SIRIDBC.format(BUILDTYPE=self.BUILDTYPE),
+ self.cfgfile),
+ stderr=err,
+ stdout=out,
+ shell=True)
+ self.assertEqual(rc, 0)
await asyncio.sleep(5)
close = await func(self)
- if close or close is None:
+ if close or close is None or Server.TERMINAL is None:
for server in self.servers:
result = await server.stop()
self.assertTrue(
int main()
{
-
-
return (
test_series_ensure_type() ||
0